
#include "FAlpBatCtrl.h"
#include "../debug_new.h"


CFAlpBatCtrl::CFAlpBatCtrl()
{
	Init();
	m_nIndex    = 0;
	//g_pwstate     = POW_UNKNOW;
}

CFAlpBatCtrl::CFAlpBatCtrl(UINT nID):CIAlphaMulBtn(nID)
{
	Init();
	m_nIndex    = 0;
	//g_pwstate     = POW_UNKNOW;
}

CFAlpBatCtrl::CFAlpBatCtrl(wstring strCaption,UINT nID)
:	CIAlphaMulBtn(strCaption,nID)
{
	Init();
	m_nIndex    = 0;
	//g_pwstate     = POW_UNKNOW;
}

CFAlpBatCtrl::CFAlpBatCtrl(DWORD dwStyle, wstring strCaption,const CRect &rc, UINT nID)
:	CIAlphaMulBtn(dwStyle, strCaption,rc, nID)
{
	Init();
	m_nIndex    = 0;
	//g_pwstate     = POW_UNKNOW;
}

CFAlpBatCtrl::CFAlpBatCtrl(DWORD dwStyle, wstring strCaption, int x, int y, int cx, int cy, UINT nID)
:	CIAlphaMulBtn(dwStyle, strCaption, x, y, cx, cy, nID)
{
	Init();
	m_nIndex    = 0;
	//g_pwstate     = POW_UNKNOW;
}

CFAlpBatCtrl::~CFAlpBatCtrl()
{

}

PowerStatusType CFAlpBatCtrl::g_IPowState = POW_CHARGEFULL;

void CFAlpBatCtrl::SetPWState(PowerStatusType state)
{
	g_IPowState = state;
}

void CFAlpBatCtrl::Paint(CDC* pDC)
{
	if(m_rcControl.IsRectEmpty())
	{
		return ;
	}

	if(!IsVisible())
	{
		return;
	}

	if(POW_UNKNOWN == g_IPowState)
	{
		return;
	}
	if(POW_CHARGING == g_IPowState) //animation icon
	{
		//m_nIndex++;
		//if(m_nIndex >= m_nIconNum - 1 - 1)
		//	m_nIndex = 0;
	}

}

void	CFAlpBatCtrl::ImprovePaint( HANDLE hDB ,HDC hdc )
{
	if( m_rcControl.IsRectEmpty() || !IsVisible() )
		return ;
	if( m_VecMulResBtn.size()<POW_UNKNOWN )
		return;
	
	if(POW_UNKNOWN == g_IPowState)
		return;
	

	if(POW_CHARGING == g_IPowState) //animation icon
	{
		m_nIndex++;
		if(m_nIndex >= m_VecMulResBtn.size() - 1 - 1)
		{
			m_nIndex = 0;
		}
		if( m_VecMulResBtn.at(m_nIndex)!=NULL )
		{
			FASTBLTALPHABPP( m_VecMulResBtn.at(m_nIndex), hDB,m_rcControl.TopLeft(),GetConBKSize()  );
		}
	}
	else
	{
		CFAlphaRes* pRes = m_VecMulResBtn.at(g_IPowState);
		
		if( pRes )
		{
			FASTBLTALPHABPP( pRes, hDB,m_rcControl.TopLeft(),GetConBKSize() );
		}
	}

}
